<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        let N = 100//总树

        let TagList = new Array(N).fill(true)//模拟当前树排

        let M = 3;//噶了几个
        let lis_M = [2, 4, 6,7,8]//噶的位置
        let lis_M_len = lis_M.length
        let k = 5;//手里几棵树


        let maxlis = 0 //连续长度
        let right = 0
        let left = 0

        // 开始种树的起始位置，因为求最大连续，则k一定是连续种植，才能保证最大连续。
        let tag = 0
        while (tag <= lis_M_len - k) {
            if (tag === 0) {
                right = 0//初始化左边界
                left = k//初始化右边界，因为中间补了k个树，所以最右边是下标为k的缺树位置
                maxlis = lis_M[left] - 0 - 1//初始化从前面补的这个树是连续最长
                tag++;
                continue;
            }
            if (tag === lis_M_len - k) {
                right = tag - 1;
                maxlis = Math.max(maxlis, N - lis_M[right])
                break;
            }
            right = tag - 1;
            left = tag + k;
            maxlis = Math.max(maxlis, lis_M[left] - lis_M[right] - 1)
            tag++;
        }
        console.log(maxlis);



    </script>
</body>

</html>